package com.monolithiot.cdn.management.service;

import com.monolithiot.cdn.management.common.entity.Project;
import com.monolithiot.cdn.management.common.entity.User;
import org.springframework.web.multipart.MultipartFile;

import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 2018/11/20 Create by 郭文梁
 * ProjectService
 * 项目业务行为定义
 *
 * @author 郭文梁
 * @date 2018/11/20
 */
public interface ProjectService extends BaseService<Project> {
    /**
     * 创建项目
     *
     * @param project 项目内容（name, note, contextPath）
     * @param user    创建用户
     * @return 创建结果
     */
    Project create(Project project, User user);

    /**
     * 设置项目的文件
     *
     * @param project 项目对象
     * @param zipFile 文件
     * @return Project Entity
     */
    Project setZipFile(Project project, MultipartFile zipFile) throws IOException;

    /**
     * 解压文件
     *
     * @param project 项目对象
     * @return Project Entity
     */
    Project unzip(Project project) throws IOException;
}
